Programmable control apparatus including an absolute position transducer

ABSTRACT

The programmable control apparatus includes an absolute position transducer capable of being mechanically coupled to a machine and electrical circuitry for generating signals indicative of and related to the machine position, a programming unit including a microcomputer, visual display device, program input circuitry, one or more programmable memory position output devices (PMPODs) each of which includes a non-volatile memory, latching circuitry and output interface circuitry, and terminal blocks for interconnection of the absolute position transducer to the programming unit or the PMPOD.

This is a continuation of application Ser. No. 740,669, filed June 3,1985, U.S. Pat. No. 4,744,022.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a programmable control apparatus whichincludes a programming unit, an absolute position transducer for rapidlydetermining the absolute position of a machine to which the transduceris coupled and at least one control device which provides programmableswitch outputs to the machine being controlled to cause starting orstopping of desired functions during each machine cycle such as onecomplete revolution of the machine shaft.

2. Description of the Prior Art

Heretofore various programmable control apparatus including an absoluteposition transducer have been proposed. Often such apparatus requiredmental calculations by the user to establish desired functions and couldonly be utilized to a limited number of setpoints.

Often such apparatus required extensive idle machine time due to thetime required for the apparatus to have control parameters entered oraltered.

Typically in a prior art apparatus a serial requested operation isperformed where an encloder is read, and the signal therefrom is thenmultiplied by a scale factor and compared with a setpoint. Then, anoutput is turned on and latched resulting in limited speed of response.

As will be described in greater detail hereinafter, the programmablecontrol apparatus of the present invention differs from the previouslyproposed control apparatus, programmable controllers and programmablelimit switches by providing an apparatus whose only limitation in thenumber of programmable setpoints is the user's desired resolution andthe absolute position transducer's resolution. Further, the apparatus ofthe present invention provides for a large number of control outputchannels whose response to a change of position of the input shaft isone or two orders of magnitude faster than that obtained with presentlyavailable programmable control apparatus or programmable limit switches.Moreover, the programmable control apparatus of the present inventioncan eliminate mental calculations on the part of the user and can alsoprovide combined output and setpoint programmable modules which retaintheir programmed information for up to ten years with no power applied.

SUMMARY OF THE INVENTION

According to the invention there is provided for use in a high speedprogrammable control apparatus including an absolute positiontransducer, a compact programmable memory output device comprisingcombined memory and output switching means coupled to said memory andmemory addresses in said memory, each address including a portion of theposition transducer's changing output means for coupling said memory toa transducer output, and means for coupling said output switching meansto at least one controlled device.

Further there is provided in a system for controlling functions of amachine utilizing an absolute position transducer and at least oneprogrammable memory position output device (PMPOD) each having a memoryand a control output switch, the improvement comprising a memory addressin each memory including a portion of the position transducer's changingoutput; means for enabling each PMPOD to be responsive to the changingtransducer output signals and means for addressing all the PMPODs at thesame time with the changing transducer output.

Also, there is provided in a system for controlling functions of amachine utilizing an absolute position transducer and at least oneprogrammable memory position output device (PMPOD) each having a memoryand a control output switch, the improvement comprising a memory addressin each memory including a portion of the position transducer's changingoutput.

Still further there is provided a system for controlling functions of amachine comprising an absolute position transducer, at least oneprogrammable memory position output device (PMPOD) each PMPOD having amemory with a memory address which includes a portion of the positiontransducer's changing output and a control output switch, a computercoupled to said PMPODs, means for enabling each PMPOD to be responsiveto the changing transducer output and means for addressing all thePMPODs at the same time with the changing transducer output.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of one form of the programmable controlapparatus of the present invention where a programming unit, absoluteposition transducer decoding, program storage, and programmable switchand output circuitry devices are all integrated into one housing.

FIG. 2 is a diagram of another form of the programmable controlapparatus where the programming unit is in a separate housing fromprogrammable switch and output circuitry devices (programmable memoryposition output devices referred to as PMPODs) mounted in the housingshown in FIG. 1.

FIG. 3 is a schematic block diagram of the programmable controlapparatus of FIG. 1 and shows the elements of the control apparatus inblock form.

FIG. 4 is a flow diagram of a scale factor entry routine and sets forththe operational steps performed by the programming unit in identifyingto the control apparatus the applicable control resolution desired bythe user.

FIG. 5 is a flow diagram of an offset computation routine and sets forththe operational steps performed by the programming unit in identifyingto the control apparatus what user-defined position offset will beapplicable.

FIG. 6 is a flow diagram of the interrupt output routine and sets forththe operational steps performed by the control apparatus to provide thecorrect control outputs that correspond to the transducer position andthe position offset (if any) programmed by the user.

FIG. 7 illustrates a flow diagram of the Programmable Memory PositionOutput Device (PMPOD) programming routine and sets forth the operationalsteps performed by the programming unit in identifying to the memorycircuit of the control apparatus what PMPOD index is applicable.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to the drawings in greater detail, there is illustrated inFIG. 1 a programmable control apparatus 10 which is constructedaccording to the teachings of the present invention and which includesan absolute position transducer 12 having a shaft 15 mechanicallycoupled to a machine shaft and electrical interconnection coupled to aprogramming unit 16 which is adapted to have mounted therein one or morecam modules or programmable memory position output devices, PMPODS 18,one of which is shown in FIG. 1. Each PMPOD 18 includes a non-volatilememory so that setpoint information can be retained therein withoutpower. This permits preprogramming of various PMPODs 18 for differentjobs or preprogramming of space PMPODs 18 to reduce down time andeliminate eventual errors which could be caused by hurried reprogrammingat a job site if a replacement PMPOD 18 is needed. Also, the PMPODs 18can be programmed at a central location, such as at a corporateheadquarters, and then distributed to various plant locations.

The apparatus 10 further includes a terminal block 20 for coupling theposition transducer 12 to the programming unit 16. In some models (FIG.1), the PMPODs 18 are easily insertable and removable from the back ofthe housing 22 of the programming unit 16 which has a number of slotsfor receiving PMPODs 18. The programming unit 16 has a terminal blockfor power input and position transducer connection.

In other models (FIG. 2), PMPODs 18', are stand-alone modules to whichthe absolute-positon transducer 12 is connected, and require an externalprogramming unit 19. The PMPODs 18 or 18' include output circuitry andterminals for interconnection directly to the machine's controlcircuitry.

Each PMPOD 18 has at least eight output channels and the apparatus 10can have provision for as many PMPOD's 18 as required for a givenapplication. In this way, many output control channels can be housed ina compact space. Using the teachings of this invention, a virtuallyunlimited number of output channels can be housed in a small compactspace.

Scale factor and position offset are stored in a non-volatile memory ina microcomputer of the programming unit 16. In models where scale factorand position offset are user-programmable, parameters are stored in thenon-volatile memory as they are entered. The information is retainedindefinitely after power is removed.

Scale factor is defined as the number of programmable divisions in onerotation of the position transducer shaft 15. Position offset is anumber that is added to the position transducer's actual position and isused to calibrate the programmable control apparatus 10 to the machinebeing controlled. The programming unit 16 incorporates an "Auto Zero"capability which eliminates all calculations on the part of the machineoperator while at the same time achieving matching of positiontransducer shaft 15 "zero" to machine shaft "zero". In other words,after the position transducer 12 is mounted on the machine shaft, allone has to do is to align the machine to a mechanical zero reference,such as top dead center on a press, and "Auto Zero" the programming unit16 by entering a short programming sequence. Any position transduceroffset will automatically be calculated and programmed so that theposition display reads 0. Additional offsets, referenced to the "AutoZero" offset, and thus to machine zero, can also be entered, if desired.

All output channels available can be preprogrammed for multiple on andoff setpoints with the only restriction being the scale factor selected.In this respect, if a scale factor of 1000 is selected, up to 500 on anoff (dual) setpoints can be programmed on each output channel.Furthermore, dwell setpoints can be programmed through 0, e.g., "on" at350 and "off" at 20.

When one PMPOD 18 needs to be programmed identically to another PMPOD,the programming apparatus 10 has a special provision (DUP) which allowsthe copying of the setpoint program in one PMPOD to another PMPOD byentering a simple programming sequence.

According to the teachings of this invention, the high speed of reactionof a PMPOD 18 to an incremental change of shaft position is due to theface that the absolute position transducer's output, whether decodedfrom an analog signal or provided in digital format by the transduceritself, is a memory address to the PMPOD 18. The PMPOD's preprogrammedsetpoint data address is mapped by the programming unit 16 to match theabsolute position transducer's shaft position data address. The dataprogrammed into each PMPOD address location is the "on" or true value or"off" or false value for each memory bit. Typically, electronicsolid-state memory devices are organized to have eight bits of data ateach address location. Thus, when the selected memory's contents areaddressed by the absolute position transducer 12, each bit's informationis directly transferred to a control output. In the invention's simplestform, as shown in FIG. 2 the only practical limitation to the reactiontime of the programmable control apparatus is the rate at which theabsolute position transducer 12 can accurately provide a positionaddress output corresponding to the shaft 15 position.

As a result, the teachings of this invention guarantee perfect machineoperation even at machine speeds of 2400 RPM. Thus, the reaction time ofthe control apparatus 10 is at least two orders of magnitude faster thanthe reaction time of previously provided programmable controllers and atleast one order of magnitude faster than the reaction time of anycurrently available programmable limit switch. All the setpointvariables are active in memory in one of the PMPODs 18 immediately, asthe setpoints are entered by the user. This feature permits programchanges and fine-tuning while the machine is operating at full speed.

Up to forty channels can be established using five modules or PMPODs 18with eight channels each. As a result, a PMPOD 18 with desired logicoutput or separate chassis with plug-in power relay units can beselected to match the job application. Typically, parallel BCD positionand TACH output PMPODs 18 are inserted in the fourth and fifth slots inthe back of the housing 22.

The scale factor, offset, dwell setpoints and motion detector setpointsare all stored in the non-volatile EEROM memory as they are entered bythe user. The information then is retained indefinitely after power ormachine shutdown in view of the non-volatile EEROM memory, eliminatingthe need for backup batteries.

The PMPODs 18 can be provided with TTL, PNP or NPN type logicalcircuits. If desired, optional electrical mechanical relays (10 amp) andsolid-state AC (3 amp) or DC (2 amp) relays can be mounted on a separatechassis (not shown). All such relays (not shown) are plug-in type relaysfor easy field replacement. Furthermore, the solid-state relays can beoptically isolated.

Also, if desired, parallel BCD position and TACH output modules can beprovided with built in programmable controller (PC) handshake logic aswell as an analog TACH output logic for remote readouts or remotecontrol devices.

The absolute position transducer 12 is typically a resolver encoder12,i.e., a rugged brushless type resolver encoder which can be mountedon a machine shaft in any hostile environment where it will be exposedto mechanical shock, vibrations, extreme humidity and temperaturechanges, oil mist, coolants, solvents, etc. with the programming unit 16mounted at a distance of up to 2500 feet away in a control panel.Typically such resolver encoder is of the type that assures a hightracking speed of up to at least 2400 RPM and high noise immunity. Sucha resolver encoder 12 can be a heavy duty resolver of the type soldunder Model No. RL100 by Autotech Corporation of Carol Stream, Ill.

The control unit 16 has a front control panel 24 mounted to the frontside of the housing 22. Such panel 24 has a visual display 26 for thechannel that is monitored and a visual display 28 for the position/RPMof the resolver encoder shaft 15.

The panel 24 further has a keyboard 30 of tactile touch buttons or keys.This keyboard 30 of touch buttons or keys includes numerical buttons orkeys 0 to 9 as shown. Also provided are a recall button 31, a "-" button32, a "+" button 33, a channel ON/OFF button 37, an offset/scale factorbutton 38, a TACH button 39, and a program duplication button 40. Thekeyboard 30 of tactile touch buttons 31-40 for initiating variousfunctions is designed for simple front panel programming.

The offset button 38 permits a position offset, eliminates calculationsfor "Auto-Zero", and provides numerical offset or fine tuning.

The "+" and "-" touch buttons 32 and 33 enable finetuning in motion. TheDUP touch button 40 enables program duplications from one PMPOD 18 toanother PMPOD 18.

Also provided on the front panel 24 are indicator lights 41-50 for,respectively, position, TACH, motion, angle, channel, ON/OFF, offset,scale factor, motion set high, and motion set low.

The button 38 also is utilized for scale factoring and enables aprogrammable scale factor from 16 to 999 to be programmed into theprogramming unit 16.

With the absolute position transducer 12 mounted on a machine shaft andconnected by the terminal block to the programming unit 16 mounted in amachine control panel, accurate and fast tracking of the movement andposition of a rotating machine shaft is obtained.

The absolute position transducer 12 provides an analog signalproportional to the shaft position. This position is converted todigital format by an internal ratiometric tracking converter (conversioncircuitry 62 in FIG. 3) in the programming unit 16 and displayed on thevisual display 28 on the front panel 16. An index address is developedfrom the digital format of the shaft position and a memory containing asetpoint program is addressed with the index address and all outputsfrom the memory are updated to cause starting or stopping of desiredmachine functions. When the process cycle of the rotating machine shaftreaches the various setpoints, outputs are enabled or disabled causingstarting or stopping of functions desired during the process cycle.

The apparatus 10 always provides the true absolute position even uponmachine movement after a power outage.

Through use of the offset/scale factor button 38, versatile full scaleprogrammable offset can be obtained and this eliminates all calculationson the part of the operator while at the same time achieving matching ofresolver shaft 15 "zero" to machine shaft "zero".

Further, to obtain a precise machine operation, the offset also can befine-tuned in motion by using the "+" and "-" keys 33 and 32.

The control unit has a built in tachometer which can be activated bypressing the tachometer touch button 39. When this is done, the visualdisplays 28 will display a shaft speed in RPM.

In the tachometer mode of operation, a motion detection "window" withlow and high present points can be programmed. In this respect, directentry of a high RPM limit and direct entry of a low RPM limit isprovided together with independent fine-tuning. This permits quickprogramming and in-motion adjustments. The motion detector status isindicated on the front panel by indicating lamp 43.

When more than one PMPOD 18 needs to be programmed identical to anotherPMPOD 18, DUP touch button 40 is utilized. In this respect, an operatormerely has to enter the ORIGIN slot number, then select the COPY slotfollowed by pressing of the duplication touch button 39 and the programis copied on the corresponding PMPOD 18.

A parallel BCD output module can be provided with built in PC-handshakelogic for easy interface to programmable controllers or a remotedisplay. Such module is plugged into slot 4 or 5 in the back of thehousing 22.

The high speed ratiometric resolver to digital converter circuitry(conversion circuitry 62 in FIG. 3) in the programming unit 16 togetherwith a micro-scan time of 50-100 microseconds guarantees perfect machineoperation at speeds of up to at least 2400 RPM. All the programvariables are active in the memory in one of the PMPODs 18 immediately,as they are entered by the user. This feature permits program changesand fine-tuning while the machine is in full motion at 2400 RPM. In thisrespect, the "+" and "-" touch buttons 33 and 32 are especially usefulfor fine-tuning the machine control for maximum productivity.

The apparatus 10 of the present invention converts the signal from thetransducer 12 to digital form and then compares all the setpoints on allthe forty channels and activates all the outputs in a maximum of 100microseconds. This is at least two orders of magnitudes faster than thespeed obtainable with previously provided programmable controllers andat least one order of magnitude faster than the speed obtainable withany currently available programmable limit switches. In this respect,with one eight channel PMPOD 18 plugged into the housing 22, the scantime can be approximately 57 microseconds.

The absolute position transducer or resolver encoder 12 includes aneight to twenty bit binary output. The function of this resolver encoder12 is to provide the programming unit 16 with a number which is aprecise description of the position of the resolver encoder shaft 15.

The programming unit 16 includes a microcomputer 60 (FIG. 3). The actualencoder resolution used is defined in the microcomputer as the ADDRESSLENGTH. Another input to the microcomputer 60 is a programming inputwhich can be either the built-in keyboard 30 or another computer. Theprogramming input circuitry 64 enables an operator to define an inputsuch parameters as scale factor, position offset, and position setpointsin his own units whether they are rotary units such as degrees or linearunits such as inches or millimeters.

In the use of the programmable control apparatus 10, certain terms arereferred to an these terms can be defined as follows:

SCALE FACTOR: Scale factor is defined as the number of programmabledivisions in one rotation of the position transducer shaft 15.

SCALE NUMBER: The scale number is address length multipled by addresslength and divided by the scale factor.

USER POSITION OFFSET: The user position offset is defined in scalefactor units by the user. The total position offset is converted by theprogrammable control apparatus 10 into the machine offset which is thescale number times the user offset divided by the address length.

MACHINE POSITION: The machine position is the actual number indicatedfrom the absolute position transducer plus the total of the "Auto Zero"and machine offsets and rationalized to always be less than the maximumvalue of the address length. The machine position is only used withinthe programming unit 16, namely within the microcomputer thereof.

USER POSITION: The user position is equal to the machine positionmultiplied by the scale factor and divided by the address length.

As shown in FIG. 3, the main elements of the programming unit 16 aremicrocomputer 60 together with its non-volatile memory. Coupled to themicrocomputer 60 in addition to the programming input circuitry 64 andthe optional absolute position transducer conversion circuitry 62 areone or more programmable memory position output devices 18 referred toas PMPODs 18, two of which are shown in FIG. 3 and referred to withreference numeral 18, and one of which is shown in FIG. 2. The PMPODs 18are preprogrammed by an operator to provide outputs whose duration is afraction of the scale factor defined above. Thus, if the scale factor isprogrammed to be in degrees, the PMPODs 18 are automatically programmedin degrees from the programming input and the programming circuitry 64.That is, each unit programmed into the PMPODs 18 is a number ofabsolute-position-transducer defined memory addressed equal to thenearest integer of address length divided by the scale factor. A PMPOD18 with eight bits of data at each address is capable of controllingeight individual switch outputs. It is to be noted that programming ofthe PMPODs 18 does not include any offset.

The operation of the programmable control apparatus 10 can be brieflysummarized as follows:

When the PMPODs 18 are used without the programming apparatus 10, theirmemory address inputs are connected to the output of an absoluteposition transducer 12 whose address length and address format conformsto the PMPOD memory address length and address format. As thetransducer's shaft 15 is rotated, its output position address changes toconform to changes in the shaft position. The PMPOD's memory dataoutputs are wired to its control outputs and thus, the control outputsrespond with thr programmed control output in response to the incomingshaft position data.

When the PMPODs 18 are used in conjunction with the programmable controlapparatus 10, a small incremental change in the absolute positiontransducer's shaft position interrupts the microcomputer via theinterrupt circuit 74 shown in FIG. 3. The microcomputer 60 then readsthe absolute position transducer's position. Next, the microcomputer 60adds the machine offset to the position to form what is referred to asthe low index. Then, using a different high index for each PMPOD 18, thelow and high indexes are combined and the correct memory location ineach PMPOD 18 is read.

When a PMPOD's address is read, the data sorted at that particularaddress are the control outputs for that particular absolute positiontransducer 12 position and offset combination. The data are latchedduring the memory readout operation in data latching circuitry housedwithin the PMPODs 18 and such latches are not again updated unitl theshaft 15 moves far enough to interrupt the microcomputer 60 via theinterrupt circuitry 74 to repeat the process.

In FIG. 5 is set forth a flow chart of the scale factor length routinecarried out by the microcomputer 60. The steps of the routine are asfollows:

STEP 1: At Step 1 the microcomputer 60 fetches the user scale factorfrom the programming input.

STEP 2: At Step 2 the microcomputer converts the scale factor to abinary number and stores it in the main non-volatile memory.

STEP 3: At Step 3, the microcomputer 60 computes the scale number whichis the address length squared divided by the scale factor.

STEP 4: At Step 4 the microcomputer 60 stores the scale number and thebinary scale factor in the main non-volatile memory.

In FIG. 6 is set forth a flow chart of the offset computation routinecarried out by the microcomputer 60. The steps of this routine are asfollows:

STEP 1: At Step 1 the microcomputer 60 distinguishes between an "AutoZero" offset request and a numerical entry offset request. If an "AutoZero" programming request is made, the routine proceeds starting withStep 1A, otherwise, it skips ahead to Step 2.

STEP 1A: At Step 1A the microcomputer 60 subtracts the present absoluteposition transducer position from the address length.

STEP 1B: At Step 1B the microcomputer 60 sets the user offset equal to0, stores the "Auto Zero" offset in the non-volatile memory and proceedsto Step 3 below.

STEP 2: At Step 2 the microcomputer 60 converts the user offset to abinary number and then computes the machine offset by adding the "AutoZero" offset to the binary user offset times the scale number divided bythe address length.

STEP 3: At Step 3 the microcomputer 60 sortes the machine offset in themain non-volatile memory.

In FIG. 7 is set forth a flow chart of the interrupt routine used by themicrocomputer when the programming unit and the PMPODs 18 are physicallyinterconnected into one housing. The steps of the routine are asfollows:

STEP 1: At Step 1 the microcomputer 60 fetches the actual machineposition from the conversion circuitry or directly from the absoluteposition transducer and then adds the total of the "Auto Zero" andmachine offsets to obtain the machine position as defined above. Theresult is also referred to as the low index. The number of PMPODs 18installed is also fetched. A unique high index to each PMPOD 18 is alsofetched.

STEP 2: At Step 2 the microcomputer 60 combines the low and high indexesand reads the PMPODs address which, in turn, latches the PMPOD controloutputs. The microcomputer 60 then decrements the number of PMPODs 18installed.

STEP 3: At Step 3 the microcomputer 60 determines whether or not thenumber of PMPODs 18 installed has reached zero. If so, the microcomputerexits the interrupt routine.

STEP 4: At Step 4 the microcomputer 60 fetches the next high PMPOD indexand cycles back to Step 2.

In FIG. 8 is set forth a flow chart of the programmable memory positionoutput device programming routine.

STEP1: At Step 1 the microcomputer 60 fetches the output channel number,the program on/off information and the beginning angle (or other userdefined number) to be programmed. These are all obtained from theprogramming input.

STEP 2: At Step 2 the microcomputer 60 derives the PMPOD address indexand the bit to be programmed from the output channel number and thebeginning angle (or other user defined number) to be programmed.

STEP 3: At Step 3 the microcomputer 60 determines whether programming ison (true) or off (false).

STEP 4: At Step 4 the microcomputer 60 programs the addressed PMPOD bittrue if programming is on.

STEP 5: At Step 5 the microcomputer 60 programs the addressed PMPOD bitsfalse if programming is off.

STEP 6: At Step 6 the PMPOD is programmed and the input is scanned todetermine whether programming is still active. If not, the microcomputerexits the routine.

STEP 7: If programming is still active at Step 7, the microcomputer 60advances to the next angle to be programmed and loops back to Step 3.

From the foregoing description, it will be apparent that theprogrammable control apparatus 10 (or 100) of the present invention hasa number of advantages some of which have been described above andothers of which are inherent in the invention. Further, it will beapparent that modifications can be made to the programmable controlapparatus 10 (or 100) without departing from the teachings of thepresent invention. Accordingly, the scope of the invention is only to belimited as necessitated by the accompanying claims.

We claim:
 1. For use in a high speed programmable control apparatusincluding an absolute position transducer, a compact programmable memoryoutput device comprising combined memory and output switching meanscoupled to said memory and memory addresses in said memory, each addressincluding a portion of the position transducer's changing output, meansfor coupling said memory to the transducer output, and means forcoupling said output switching means to at least one controlled device.2. In a system for controlling functions of a machine utilizing anabsolute position transducer and at least one programmable memoryposition output device (PMPOD) each having a memory and a control outputswitch, the improvement comprising a memory address in each memoryincluding a portion of the position transducer's changing output; meansfor enabling each PMPOD to be responsive to the changing transduceroutput signals and means for addressing all the PMPODs at the same timewith the changing transducer output.
 3. In a system for controllingfunctions of a machine utilizng an absolute position transducer and atleast one programmable memory position output device (PMPOD) each havinga memory and a control output switch, the improvement comprising amemory address in each memory including a portion of the positiontransducer's changing output.
 4. A system for controlling functions of amachine comprising an absolute position transducer, at least oneprogrammable memory position output device (PMPOD) each PMPOD having amemory with a memory address which includes a portion of the positiontransducer's changing output and a control output switch, a computercoupled to said PMPODs, means for enabling each PMPOD to be responsiveto the changing transducer output and means for addressing all thePMPODs at the same time with the changing transducer output.